package org.infodavid.common.model.criteria;

import org.infodavid.common.model.behaviors.IApprovable.EApprovalStatus;

/**
 * The Interface IUserConnectionCriteria.
 */
public interface IUserConnectionCriteria extends IPaginatedSearchCriteria, ISortCriteria {

  /**
   * Gets the user key.
   * @return the user key
   */
  long getUserKey();

  /**
   * Sets the user key. If null, condition is ignored.
   * @param value the user key
   */
  void setUserKey(long value);

  /**
   * Gets the status.
   * @return the status
   */
  EApprovalStatus getStatus();

  /**
   * Sets the status.
   * @param value the new status
   */
  void setStatus(EApprovalStatus value);

  /**
   * Checks if is requested flag.
   * @return the boolean
   */
  Boolean isRequested();

  /**
   * Sets the requested flag.
   * @param flag the new requested flag
   */
  void setRequested(Boolean flag);
}
